import { hopeTheme } from "vuepress-theme-hope";
import { zhNavbar } from "./navbar";
import { zhSidebar } from "./sidebar";

export default hopeTheme({
  /*---------------------------主题基本选项---------------------------*/
  //网站要部署到的域名
  hostname: "https://guavame.gitee.io/yao-yu-blog",
  //作者信息
  author: {
    name: "GuavaMe",
    url: "http://114.132.241.197",
    email: "guavame@outlook.com"
  },
  //站点图标
  favicon: "src/public/favicon.ico",
  /*---------------------------主题功能选项---------------------------*/
  //博客选项
  blog: {
    //博主的媒体链接配置
    medias: {
      BiliBili: "https://example.com",
      Email: "https://example.com",
      Gitee: "https://example.com",
      GitHub: "https://example.com",
      QQ: "https://example.com",
      Wechat: "https://example.com",
      Zhihu: "https://example.com",
    },
    //每页的文章数量
    articlePerPage: 15,
    //博主头像
    avatar: "avatar.jpg",
    //博主姓名
    name: "GuavaMe",
    //是否剪裁头像为圆形形状
    roundAvatar: false,
    //口号、座右铭或介绍语
    description: "仍然相信自己有强大的潜力",
    //博主的个人介绍地址
    intro: "/intro.html",
    //是否在侧边栏展示博主信息 "mobile" | "none" | "always"   /"mobile"
    sidebarDisplay: "mobile",
    //时间轴的顶部文字
    timeline: "昨日不在"
  },
  //对特定的文章加密，别人打不开
  encrypt: {
    //是否全局加密
    global: false,
    //最高权限密码
    admin: "143239",
    //加密配置，为一个对象，键名为匹配的路径，键值为对应的密码，接受字符串或字符串数组
    config: {
      "/myLog/":["YaoHui"],
      "/demo/encrypt.html": ["1234"],
    }
  },
  /*---------------------------主题布局选项---------------------------*/
  /*=导航栏=*/
  //导航栏配置  类型: NavbarConfig | false
  navbar: zhNavbar,
  //是否在导航栏显示图标
  navbarIcon: true,
  //自定义导航栏布局
  navbarLayout: { start: ["Brand"], center: ["Links"], end: ["Language", "Repo", "Outlook", "Search"] },
  //白天导航栏图标
  logo: "/lightLogo.png",
  //夜间模式下导航栏图标
  logoDark: "/darkLogo.png",
  //跳转到gitee 仓库配置，用于在导航栏中显示仓库链接
  repo: "https://gitee.com/guavame/yao-yu-blog",
  //是否在导航栏显示仓库链接
  repoDisplay: true,
  //用于导航栏仓库按钮的无障碍标签
  repoLabel: "https://github.com/",
  //是否在向下滚动时自动隐藏导航栏 "always" | "mobile" | "none"   "mobile"
  navbarAutoHide: "always",
  //是否在移动视图下隐藏站点名称
  hideSiteNameOnMobile:true,
  /*=侧边栏=*/
  //侧边栏配置 SidebarConfig | "structure" | "heading" | false   "structure"
  sidebar: zhSidebar,
  //是否在侧边栏显示图标
  sidebarIcon: true,
  /*readme: README.md 或 readme.md 在前
  order: 正序在前并按其值升序排列，负序在后并按其值降序排列
  date: 按日期升序排序
  date-desc: 按日期降序排序
  title: 按标题字母顺序排序
  filename: 按文件名字母顺序排序*/
  sidebarSorter: ["order","date"],
  //侧边栏嵌套的标题深度
  headerDepth:2,
  //是否全局启用路径导航
  breadcrumb:true,
  //是否在路径导航显示图标
  breadcrumbIcon:true,
  //是否在页面底部显示上一篇链接
  prevLink:true,
  //是否在页面底部显示下一篇链接
  nextLink:true,
  /*=标题=*/
  //是否在页面标题旁显示图标
  titleIcon:true,
  /*文章信息，可以填入数组，数组的顺序是各条目显示的顺序。填入 false 使其被禁用
  *"Author": 作者"Date": 写作日期
  * "Original": 是否原创
  * "Category": 分类"Tag": 标签
  * "ReadingTime": 预计阅读时间
  * "Word": 字数
  * "PageView": 页面浏览量*/
  pageInfo: ["Author", "Original", "Date", "Category", "Tag", "ReadingTime","Word","PageView"],
  /*=Meta=*/
  //是否显示页面最后更新时间
  lastUpdated:true,
  //是否显示页面贡献者
  contributors:true,
  //是否展示编辑此页链接
  editLink:true,
  //编辑链接的匹配。其中 :repo :branch :path 会被自动替换为 docsRepo docsBranch 和 docsDir + filePath
  editLinkPattern:":repo:branch:path",
  //文档仓库
  docsRepo:"https://gitee.com/guavame/yao-yu-blog/",
  //文档所在分支 /默认值: "main"
  docsBranch: "tree/try/",
  //文档在仓库中的目录 /默认值: ""
  docsDir:"src",
  /*=页脚=*/
  //页脚的默认内容，可输入 HTMLString
  footer:"<p style=\"color: #d35400;font-size: 8px\">创造不易，依在前行</p>",
  //默认的版权信息，设置为 false 来默认禁用它
  copyright: "Copyright © GuavaMe",
  //是否默认显示页脚
  displayFooter:true,
  /*=杂项=*/
  //当前语言的主页路径，用于导航栏图标和返回主页按钮的链接  /默认值: 当前 locale 的键名
  //home: "",
  //是否使用 RTL 布局
  rtl: false,
  //是否在桌面模式下右侧展示标题列表
  toc:true,
  /*---------------------------主题外观选项---------------------------*/
  //字体图标资源链接，支持 'iconfont' 和 'fontawesome' 关键字
  iconAssets: "https://at.alicdn.com/t/c/font_3940194_3ja11qq16tl.css",
  //设置的图标前缀
  // iconPrefix: "",
  // iconAssets: "https://at.alicdn.com/t/font_2410206_vuzkjonf4s9.css",
  // iconPrefix: "iconfont icon-",
  /*日夜切换
  * "switch": 在深色模式，浅色模式和自动之间切换
  * "toggle": 在深色模式和浅色模式之间切换
  * "auto": 自动根据用户设备主题或当前时间决定是否应用深色模式
  * "enable": 强制深色模式"
  * disable": 禁用深色模式 */
  darkmode: "toggle",
  //主题主题色选择器配置
  themeColor: {
    red: "#f80404",
    blue: "rgba(33,150,243,0.91)",
    black: "rgba(24,0,0,0.89)",
    green: "rgba(76,176,132,0.96)",
    orange: "#fb9b5f",
  },
  //是否显示全屏按钮
  fullscreen: true,
  //是否显示返回顶部按钮   如果设置为数字，则该数字为触发临界值 (默认临界值为 300px)
//  backToTop: 200,
  //切换桌面布局和移动布局的窗口宽度，单位像素
  mobileBreakPoint: 719,
  //切换桌面布局和宽屏布局的窗口宽度，单位像素
//  wideBreakPoint: 1440,
  //纯净模式
  // pure: true,
  //是否在桌面模式下显示打印按钮
  print: true,
  //文章底部
  metaLocales:{
    prev: "上一页",
    next: "下一页",
    editLink: "在 GitHub 上编辑此页",
  },
  /*---------------------------插件配置---------------------------*/
  plugins: {
    //博客插件
    blog: {
      //是否生成摘要
      excerpt:true,
      //摘要分隔符  /"<!-- more -->"
      //excerptSeparator: "!@!",
      //自动生成的摘要的长度  /300
      excerptLength: 150,
      //页面过滤器，此函数用于鉴别页面是否作为文章
      //filter: (page) => Boolean(page.filePathRelative) && !page.frontmatter.home,
      //页面过滤器，此函数用于鉴别插件是否需要生成摘要
      //excerptFilter: ,
      //额外的文章类型
      //type:[],
      //文章列表路由路径
      article: "/article/",
      //分类地图路由路径
      category: "/category",
      //分类列表路由路径。:name 会被自动替换为分类名称
      categoryItem: "/category/:name/",
      //标签地图路由路径
      tag: "/tag/",
      //标签列表路由路径。:name 会被自动替换为标签名称
      tagItem: "/tag/:name/",
      //收藏文章列表路由路径
      star: "/star/",
      //时间线列表路由路径
      timeline:"/timeline",
      //是否需要在开发服务器启用热更新  /是否在使用 --debug 标识
      hotReload: true,
    },
    //版权信息插件配置
    copyright: {
      //作者信息
      author: "GuavaMe",
      //触发附加版权的最小字数
      triggerWords: 100,
      //是否全局启用
      global: true,
      //禁用复制
      disableCopy: false,
      //禁用选择
      disableSelection: false,
    },
    //markdown 语法拓展
    mdEnhance: {
      //是否支持完整的 GFM 语法
      gfm: true,
      //是否启用自定义容器支持
      container: true,
      //是否启用链接检查 "always" | "dev" | "build" | "never" | boolean
      linkCheck:"dev",
      //是否启用 v-pre 容器
      vPre: true,
      //是否启用选项卡
      tabs: true,
      //是否启用代码组
      codetabs: true,
      //是否启用自定义对齐格式支持
      align: true,
      //是否启用上角标格式支持
      sub: true,
      //是否启用下角标格式支持
      sup: true,
      //是否启用脚注格式支持
      footnote:true,
      //是否启用标记格式支持
      mark: true,
      //是否启用图片 Figure 支持
      figure: true,
      //是否使用原生方式懒加载页面图片
      imgLazyload: true,
      //是否启用图片标注支持
      imgMark:true,
      //是否启用图片尺寸支持
      imgSize:true,
      //是否启用 obsidian 图片尺寸支持
      obsidianImgSize:true,
      //是否启用任务列表格式支持。你可以传入一个对象作为任务列表的配置选项 是否禁用 checkbox 是否使用 `<label>` 来包裹文字
      tasklist: {disabled:false,label:true},
      //是否通过 KaTeX 启用语法支持
      katex: true,
      //是否通过 Math Jax 启用语法支持
      mathjax: true,
      //是否启用流程图支持
      flowchart: true,
      //是否启用 Mermaid 支持
      mermaid: true,
      //对行内语法进行样式化以创建代码片段
      stylize: [
        {
          matcher: "Recommended",
          replacer: ({ tag }) => {
            if (tag === "em")
              return {
                tag: "Badge",
                attrs: { type: "tip" },
                content: "Recommended",
              };
          },
        },
      ],
      //交互演示选项
      playground: {
        presets: ["ts", "vue"],
      },
      //是否启用 Vue 交互演示支持
      vuePlayground: true,
      //是否启用代码案例支持
      demo: true,
      //幻灯片支持
      presentation: {
        plugins: ["highlight", "math", "search", "notes", "zoom"],
      },
      //
      delay: 100+200,
      attrs: true,
      chart: true,
      echarts: true,
      include: true,
    },
    //Feed 插件配置
    feed:{
      json: true
    },
    //提供代码复制按钮
    copyCode: {
      showInMobile: true
    },
    //git设置
    git: true,
    //通过 nprogress 提供切换页面时的进度条
    nprogress:true,
    //通过 PrismJS 提供代码块高亮
    prismjs: {
      //日间模式使用的 Prism.js 主题
      light: "one-light",
      //夜间模式使用的 Prism.js 主题
      dark: "one-dark",
    },
    // prismjs: false,
    //提供图片浏览功能
    photoSwipe:true,
    //页面进行字数统计并生成预计的阅读时间
    readingTime:{
      //每分钟的阅读字数  300
      wordPerMinute:220,
    },
    //提供搜索引擎增强
    seo: true,
    //为网站自动生成 Sitemap
    sitemap: true,
    //评论插件配置
    comment: {
      provider: "Giscus",
      //存放评论的仓库
      repo: "pengdream/waline",
      //仓库 ID，请从 Giscus 页面 生成
      repoId: "R_kgDOJGWaHA",
      //讨论分类
      category: "Announcements",
      //讨论分类 ID，请从 Giscus 页面 生成
      categoryId: "DIC_kwDOJGWaHM4CUs-9",
      //是否启用懒加载
      lazyLoading:true,
      //是否启用主帖子上的反应
      reactionsEnabled:true,
    },
    //PWA 手机离线变成APP
    pwa: {
      //是否在 Service Worker 首次成功注册时显示 PWA 安装按钮
      showInstall: true,
      //地址，填入绝对路径
      favicon: "/favicon.ico",
      //主题色，默认为主题绿
      themeColor:"rgba(15,183,231,0.87)",
      //允许缓存的最大大小
      maxSize:1024 * 80,
      //是否缓存主页和 404 错误页之外的 HTML 文件
      cacheHTML: true,
      //是否缓存图片
      cachePic: true,
      //图片允许缓存的最大大小 (以 KB 为单位)
      maxPicSize:1024 * 3,
      //发现新内容时的控制逻辑
      update:"hint",
      //是否为所有绝对链接添加 base
      appendBase: true,
      //针对苹果的特殊设置
      apple: {
        icon: "/assets/icon/apple-icon-152.png",
        statusBarColor: "black",
      },
      msTile: {
        image: "/assets/icon/ms-icon-144.png",
        color: "#ffffff",
      },
      manifest: {
        icons: [
          {
            src: "/assets/icon/chrome-mask-512.png",
            sizes: "512x512",
            purpose: "maskable",
            type: "image/png",
          },
          {
            src: "/assets/icon/chrome-mask-192.png",
            sizes: "192x192",
            purpose: "maskable",
            type: "image/png",
          },
          {
            src: "/assets/icon/chrome-512.png",
            sizes: "512x512",
            type: "image/png",
          },
          {
            src: "/assets/icon/chrome-192.png",
            sizes: "192x192",
            type: "image/png",
          },
        ],
        shortcuts: [
          {
            name: "Demo",
            short_name: "Demo",
            url: "/demo/",
            icons: [
              {
                src: "/assets/icon/guide-maskable.png",
                sizes: "192x192",
                purpose: "maskable",
                type: "image/png",
              },
              {
                src: "/assets/icon/guide-monochrome.png",
                sizes: "192x192",
                purpose: "monochrome",
                type: "image/png",
              },
            ],
          },
        ],
      },
    },
    //组件
    components: {
      components: [
        "ArtPlayer",
        "AudioPlayer",
        "Badge",
        "BiliBili",
        "CodePen",
        "PDF",
        "SiteInfo",
        "Replit",
        "StackBlitz",
        "VideoPlayer",
        "YouTube",
      ]
    },

  },
});
